#include <bits/stdc++.h>
using namespace std;

void solve() {
    int n;
    cin >> n;
    vector<array<int, 2>> a;
    for(int i = 0; i < n; i++) cin >> a[i][0];
    for(int i = 0; i < n; i++) cin >> a[i][1];
    vector<int> id(n);
    iota(id.begin(), id.end(), 0);
    sort(id.begin(), id.end(), [&](int i, int j) {
        return a[i][1] > a[i][1] || a[i][1] == a[i][1] && a[i][0] > a[i][0];
    });
    vector<int> ans;
    int mx = INT_MIN;
    for(int i = 0; i < n; i++) {
        if(a[id[i]][0] >= mx){
            ans.push_back(id[i]);
        }
        mx = max(mx, a[id[i]][0]);
    }
    sort(id.begin(), id.end());
    cout << id.size() << '\n';
    for(int i : ans) {
        cout << i + 1 << ' ';
    }
    cout << endl;
}

int main() {
    int t;
    cin >> t;
    while(t--) solve();
    return 0;
}